Codec

A codec is a device or computer program capable of encoding or decoding a digital data stream or signal.[1][2][3][4] The word codec is a portmanteau of "compressor-decompressor" or, more commonly, "coder-decoder". A codec (the program) should not be confused with a coding or compression format or standard – a format is a document (the standard), a way of storing data, while a codec is a program (an implementation) which can read or write such files. In practice, however, "codec" is sometimes used loosely to refer to formats.

A codec encodes a data stream or signal for transmission, storage or encryption, or decodes it for playback or editing. Codecs are used in videoconferencing, streaming media and video editing applications. A video camera's analog-to-digital converter (ADC) converts its analog signals into digital signals, which are then passed through a video compressor for digital transmission or storage. A receiving device then runs the signal through a video decompressor, then a digital-to-analog converter (DAC) for analog display. The term codec is also used as a generic name for a video conferencing unit.

Contents

Related concepts

An endec (encoder/decoder) is a similar yet different concept mainly used for hardware. In the mid 20th century, a "codec" was hardware that coded analog signals into Pulse-code modulation (PCM) and decoded them back. Late in the century the name came to be applied to a class of software for converting among digital signal formats, and including compander functions.

A modem is a contraction of modulator/demodulator (modem was called dataset by telcos) and converts digital data from computers to analog for phone line transmission. On the receiving end the analog is converted back to digital. Codecs do the opposite (convert audio analog to digital and then computer digital sound back to audio).

An audio codec converts analog audio signals into digital signals for transmission or storage. A receiving device then converts the digital signals back to analog using an audio decompressor, for playback. An example of this are the codecs used in the sound cards of personal computers. A video codec accomplishes the same task for video signals.

Compression quality

Media codecs

Codecs are often designed to emphasize certain aspects of the media, or their use, to be encoded. For example, a digital video (using a DV codec) of a sports event needs to encode motion well but not necessarily exact colors, while a video of an art exhibit needs to perform well encoding color and surface texture.

Audio codecs for cell phones need to have very low latency between source encoding and playback; while audio codecs for recording or broadcast can use high-latency audio compression techniques to achieve higher fidelity at a lower bit-rate.

There are thousands of audio and video codecs ranging in cost from free to hundreds of dollars or more. This variety of codecs can create compatibility and obsolescence issues. The impact is lessened for older formats, for which free or nearly-free codecs have existed for a long time. The older formats are often ill-suited to modern applications, however, such as playback in small portable devices. For example, raw uncompressed PCM audio (44.1 kHz, 16 bit stereo, as represented on an audio CD or in a .wav or .aiff file) has long been a standard across multiple platforms, but its transmission over networks is slow and expensive compared with more modern compressed formats, such as MP3.

Many multimedia data streams contain both audio and video, and often some metadata that permit synchronization of audio and video. Each of these three streams may be handled by different programs, processes, or hardware; but for the multimedia data streams to be useful in stored or transmitted form, they must be encapsulated together in a container format.

Lower bitrate codecs allow more users, but they also have more distortion. Beyond the initial increase in distortion, lower bit rate codecs also achieve their lower bit rates by using more complex algorithms that make certain assumptions, such as those about the media and the packet loss rate. Other codecs may not make those same assumptions. When a user with a low bitrate codec talks to a user with another codec, additional distortion is introduced by each transcoding.

The notion of AVI being a codec is incorrect as AVI is a container format, which many codecs might use (although not to ISO standard). There are also other well-known containers such as Ogg, ASF, QuickTime, RealMedia, Matroska, DivX Media Format and containers defined as ISO standards, such as MPEG transport stream, MPEG program stream, MP4 and ISO base media file format.

See also

Comparisons

References

  1. ^ "Using codecs". Microsoft. https://www.microsoft.com/windows/windowsmedia/player/faq/codec.mspx. Retrieved 2009-12-21. 
  2. ^ "About.com - Codec". About.com. http://desktopvideo.about.com/od/glossary/g/codec.htm. Retrieved 2009-12-21. 
  3. ^ "Glossary - Codec". Afterdawn.com. http://www.afterdawn.com/glossary/terms/codec.cfm. Retrieved 2009-12-21. 
  4. ^ "Ubuntu Documentation - What is a codec?". Ubuntu Documentation Team. https://help.ubuntu.com/8.04/musicvideophotos/C/codecs.html. Retrieved 2009-12-21. 
  5. ^ "Audio quality of aac vs. mp3 vs. wma vs. ogg encoders". SoundExpert. http://soundexpert.org/. Retrieved 2010-07-25. "above 5.0 – all sound artifacts will be beyond threshold of human perception with corresponding perception margin"